<!-- 右侧导航 -->

<template>
  <div>
    <EasyScroll full>
      <draggable
        v-model="one.questionList"
        :animation="200"
        group="question"
        :disabled="isShow"
        @start="MAP.inDrag = true"
        @end="MAP.inDrag = false"
      >
        <div
          v-for="item in one.questionList"
          :key="item.key"
          :id="`QuestionnaireList-MyQuestion-nav-${item.no}`"
          class="QuestionnaireList-MyQuestion-nav ellips"
          :class="{ 'QuestionnaireList-MyQuestion-nav-hover': item.no === MAP.hoverNo }"
          @click="toClick(item)"
          @mouseenter="toEnter(item)"
          @mouseleave="toLeave(item)"
        >
          <span>
            <b>{{ item.no }}.</b> {{ item.title }}
          </span>
        </div>
      </draggable>
    </EasyScroll>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'RightNav',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 点击事件
     */
    toClick(item) {
      const question = document.getElementById(`QuestionnaireList-MyQuestion-no-${item.no}`)
      question.scrollIntoView({ behavior: 'smooth' })
    },

    /**
     * 鼠标进入
     */
    toEnter(item) {
      const { MAP } = this
      if (!MAP.inDrag) MAP.hoverNo = item.no
    },

    /**
     * 鼠标离开
     */
    toLeave() {
      const { MAP } = this
      if (!MAP.inDrag) MAP.hoverNo = 0
    },
  },
}
</script>
